package com.yanglanting.disk.file.repository;

import com.yanglanting.disk.file.entity.SearchFileEntity;
import com.yanglanting.disk.mybatis.entity.PtFileEntity;
import com.yanglanting.disk.mybatis.entity.PtUserEntity;
import com.yanglanting.disk.mybatis.flexigrid.PagingEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface FileDao {
    /**
     * 删除文件表所有内容
     */
    void deleteFileAll();

    /**
     * 保存文件信息
     *
     * @param ptFileEntityList
     */
    void saveFileInfo(@Param("list") List<PtFileEntity> ptFileEntityList);

    /**
     * 文件列表总数量
     *
     * @param entity
     * @return
     */
    Integer queryFileListTotal(@Param("entity") SearchFileEntity entity);

    /**
     * 文件列表分页查询
     *
     * @param entity
     * @param paging
     * @return
     */
    List<PtFileEntity> queryFileInfoListByPage(@Param("entity") SearchFileEntity entity, @Param("paging") PagingEntity paging);

    /**
     * 查询文件信息
     *
     * @param fileUuid
     * @return
     */
    PtFileEntity queryFileInfoById(@Param("fileUuid") String fileUuid);

    /**
     * 查询所有文件信息
     *
     * @return
     */
    List<PtFileEntity> queryFileListAll();


    /**yang**/
    /**
     * 根据id修改文件信息
     *
     * @param entity
     */
    void modifyFileInfoById(@Param("entity") PtFileEntity entity);
    /**yang**/


    /**
     * 将文件移至回收站（更新删除标识为1）
     *
     * @param fileUuid 文件ID
     */
    void updateFileToRecycle(@Param("fileUuid") String fileUuid);

}
